/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package model.util;

import model.*;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see model.ModelPackage
 * @generated
 */
public class ModelAdapterFactory extends AdapterFactoryImpl {
	/**
	 * The cached model package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static ModelPackage modelPackage;

	/**
	 * Creates an instance of the adapter factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ModelAdapterFactory() {
		if (modelPackage == null) {
			modelPackage = ModelPackage.eINSTANCE;
		}
	}

	/**
	 * Returns whether this factory is applicable for the type of the object.
	 * <!-- begin-user-doc -->
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
	 * <!-- end-user-doc -->
	 * @return whether this factory is applicable for the type of the object.
	 * @generated
	 */
	@Override
	public boolean isFactoryForType(Object object) {
		if (object == modelPackage) {
			return true;
		}
		if (object instanceof EObject) {
			return ((EObject)object).eClass().getEPackage() == modelPackage;
		}
		return false;
	}

	/**
	 * The switch that delegates to the <code>createXXX</code> methods.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ModelSwitch<Adapter> modelSwitch =
		new ModelSwitch<Adapter>() {
			@Override
			public Adapter caseWorkspace(Workspace object) {
				return createWorkspaceAdapter();
			}
			@Override
			public Adapter caseSeriesPackage(SeriesPackage object) {
				return createSeriesPackageAdapter();
			}
			@Override
			public Adapter caseSerie(Serie object) {
				return createSerieAdapter();
			}
			@Override
			public Adapter caseActor(Actor object) {
				return createActorAdapter();
			}
			@Override
			public Adapter caseActorsPackage(ActorsPackage object) {
				return createActorsPackageAdapter();
			}
			@Override
			public Adapter caseEpisodesPackage(EpisodesPackage object) {
				return createEpisodesPackageAdapter();
			}
			@Override
			public Adapter caseSeasonPackage(SeasonPackage object) {
				return createSeasonPackageAdapter();
			}
			@Override
			public Adapter caseSeason(Season object) {
				return createSeasonAdapter();
			}
			@Override
			public Adapter caseEpisode(Episode object) {
				return createEpisodeAdapter();
			}
			@Override
			public Adapter caseEntity(Entity object) {
				return createEntityAdapter();
			}
			@Override
			public Adapter caseEntityDescription(EntityDescription object) {
				return createEntityDescriptionAdapter();
			}
			@Override
			public Adapter caseEntityProfile(EntityProfile object) {
				return createEntityProfileAdapter();
			}
			@Override
			public Adapter caseOtherSerie(OtherSerie object) {
				return createOtherSerieAdapter();
			}
			@Override
			public Adapter caseOtherFilm(OtherFilm object) {
				return createOtherFilmAdapter();
			}
			@Override
			public Adapter caseImage(Image object) {
				return createImageAdapter();
			}
			@Override
			public Adapter caseAssociationActorSerie(AssociationActorSerie object) {
				return createAssociationActorSerieAdapter();
			}
			@Override
			public Adapter caseRole(Role object) {
				return createRoleAdapter();
			}
			@Override
			public Adapter caseAssociation(Association object) {
				return createAssociationAdapter();
			}
			@Override
			public Adapter caseAssociationActorToSerie(AssociationActorToSerie object) {
				return createAssociationActorToSerieAdapter();
			}
			@Override
			public Adapter caseAssociationSerieToActor(AssociationSerieToActor object) {
				return createAssociationSerieToActorAdapter();
			}
			@Override
			public Adapter caseSeriesPackSerie(SeriesPackSerie object) {
				return createSeriesPackSerieAdapter();
			}
			@Override
			public Adapter caseSeasonsPackSeason(SeasonsPackSeason object) {
				return createSeasonsPackSeasonAdapter();
			}
			@Override
			public Adapter caseEpisodesPackEpisode(EpisodesPackEpisode object) {
				return createEpisodesPackEpisodeAdapter();
			}
			@Override
			public Adapter caseActorPackActor(ActorPackActor object) {
				return createActorPackActorAdapter();
			}
			@Override
			public Adapter caseSerieRole(SerieRole object) {
				return createSerieRoleAdapter();
			}
			@Override
			public Adapter caseAggregation(Aggregation object) {
				return createAggregationAdapter();
			}
			@Override
			public Adapter defaultCase(EObject object) {
				return createEObjectAdapter();
			}
		};

	/**
	 * Creates an adapter for the <code>target</code>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param target the object to adapt.
	 * @return the adapter for the <code>target</code>.
	 * @generated
	 */
	@Override
	public Adapter createAdapter(Notifier target) {
		return modelSwitch.doSwitch((EObject)target);
	}


	/**
	 * Creates a new adapter for an object of class '{@link model.Workspace <em>Workspace</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Workspace
	 * @generated
	 */
	public Adapter createWorkspaceAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.SeriesPackage <em>Series Package</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.SeriesPackage
	 * @generated
	 */
	public Adapter createSeriesPackageAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Serie <em>Serie</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Serie
	 * @generated
	 */
	public Adapter createSerieAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Actor <em>Actor</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Actor
	 * @generated
	 */
	public Adapter createActorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.ActorsPackage <em>Actors Package</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.ActorsPackage
	 * @generated
	 */
	public Adapter createActorsPackageAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.EpisodesPackage <em>Episodes Package</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.EpisodesPackage
	 * @generated
	 */
	public Adapter createEpisodesPackageAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.SeasonPackage <em>Season Package</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.SeasonPackage
	 * @generated
	 */
	public Adapter createSeasonPackageAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Season <em>Season</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Season
	 * @generated
	 */
	public Adapter createSeasonAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Episode <em>Episode</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Episode
	 * @generated
	 */
	public Adapter createEpisodeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Entity <em>Entity</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Entity
	 * @generated
	 */
	public Adapter createEntityAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.EntityDescription <em>Entity Description</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.EntityDescription
	 * @generated
	 */
	public Adapter createEntityDescriptionAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.EntityProfile <em>Entity Profile</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.EntityProfile
	 * @generated
	 */
	public Adapter createEntityProfileAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.OtherSerie <em>Other Serie</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.OtherSerie
	 * @generated
	 */
	public Adapter createOtherSerieAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.OtherFilm <em>Other Film</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.OtherFilm
	 * @generated
	 */
	public Adapter createOtherFilmAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Image <em>Image</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Image
	 * @generated
	 */
	public Adapter createImageAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.AssociationActorSerie <em>Association Actor Serie</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.AssociationActorSerie
	 * @generated
	 */
	public Adapter createAssociationActorSerieAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Role <em>Role</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Role
	 * @generated
	 */
	public Adapter createRoleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Association <em>Association</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Association
	 * @generated
	 */
	public Adapter createAssociationAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.AssociationActorToSerie <em>Association Actor To Serie</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.AssociationActorToSerie
	 * @generated
	 */
	public Adapter createAssociationActorToSerieAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.AssociationSerieToActor <em>Association Serie To Actor</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.AssociationSerieToActor
	 * @generated
	 */
	public Adapter createAssociationSerieToActorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.SeriesPackSerie <em>Series Pack Serie</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.SeriesPackSerie
	 * @generated
	 */
	public Adapter createSeriesPackSerieAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.SeasonsPackSeason <em>Seasons Pack Season</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.SeasonsPackSeason
	 * @generated
	 */
	public Adapter createSeasonsPackSeasonAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.EpisodesPackEpisode <em>Episodes Pack Episode</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.EpisodesPackEpisode
	 * @generated
	 */
	public Adapter createEpisodesPackEpisodeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.ActorPackActor <em>Actor Pack Actor</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.ActorPackActor
	 * @generated
	 */
	public Adapter createActorPackActorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.SerieRole <em>Serie Role</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.SerieRole
	 * @generated
	 */
	public Adapter createSerieRoleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link model.Aggregation <em>Aggregation</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see model.Aggregation
	 * @generated
	 */
	public Adapter createAggregationAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for the default case.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @generated
	 */
	public Adapter createEObjectAdapter() {
		return null;
	}

} //ModelAdapterFactory
